module top_module( 
    input [99:0] a, b,
    input cin,
    output [99:0] cout,
    output [99:0] sum );

    add1 inst_add0 (
        a[0],
        b[0],
        cin,
        sum[0],
        cout[0]
    );

    add1 inst_add [99:1] (
        a[99:1],
        b[99:1],
        cout[98:0],
        sum[99:1],
        cout[99:1]
    );

endmodule

module add1 ( input a, input b, input cin, output sum, output cout);

    // Full adder module here
    assign sum = a ^ b ^ cin;
    assign cout = a&b | a&cin | b&cin;

endmodule
